import Vue from 'vue'
import Vuex from 'vuex'
// 导入本地存储中封装的 setData, getData 方法
import { setData, getData } from '@/utils/storage'
import { TOKEN_KEY } from '@/utils/config'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 以对象的形式存储当前登录的用户信息
    user: getData(TOKEN_KEY)
    // user: null // 简单数据类型 null 返回的是一个空的对象 object
  },
  mutations: {
    setUser (state, data) {
      state.user = data
      // 为了防止刷新丢失, 我们需要把数据备份到本地存储
      setData(TOKEN_KEY, state.user)
    }
  },
  actions: {},
  modules: {},
  getters: {}
})
